Skip to content

fix(env): frontend catalog names must be storage-node ids; push script survives mDNS serials - #718

Merged
cryptskii merged 1 commit into
mainfrom
fix/env-catalog-node-ids
Aug 24, 2026
Merged

fix(env): frontend catalog names must be storage-node ids; push script survives mDNS serials#718
cryptskii merged 1 commit into
mainfrom
fix/env-catalog-node-ids

Conversation

@cryptskii

Copy link
Copy Markdown
Collaborator

Problem

Two rig-blocking defects found during the two-device end-to-end validation:

  1. Bundled frontend catalog used descriptive names, not member ids. dsm_client/frontend/public/dsm_env_config.toml named the Alibaba nodes us-west-1a-N. The catalog name is the canonical storage-set member id — it is hashed into the storage_set_id a vault is born under and checked against the node's x-dsm-node-id echo. A device on the bundled default computed a set id no node belongs to, so every settlement-slot claim was refused (observed live: 0/3 accepted, settlement fail-closed). scripts/dsm_env_config.alibaba.toml already documents exactly this footgun; the bundled default now matches it (dsm-node-N) and carries the same warning comment.

  2. push_env_override.sh truncated wireless adb serials. mDNS serials contain spaces (adb-XXXX-yyyy (2)._adb-tls-connect._tcp); word-splitting produced serials adb -s cannot resolve, so config pushes to wirelessly connected devices failed. The script now addresses devices by transport id (adb -t), a plain integer, at all 18 call sites.

Validation

  • New gather expression tested against the live 3-phone rig: yields transports 2 1 3.
  • zsh -n clean.
  • The corrected catalog + fleet [storage_set] config took the two-device e2e from 0/3 accepted to a settled swap and a byte-identical two-device dlv.composeVault verdict.

…t survives mDNS serials

The frontend's bundled dsm_env_config.toml named the Alibaba fleet
us-west-1a-N — descriptive labels, not the nodes' [node] id values. The
catalog name is the member id hashed into storage_set_id, so a device
running the bundled default computed a set id no node belongs to and
every settlement-slot claim was refused (observed on the two-device e2e:
0/3 accepted). Renamed to dsm-node-N and carried over the warning
comment from scripts/dsm_env_config.alibaba.toml, which already
documented exactly this failure.

push_env_override.sh split 'adb devices' output on whitespace, which
truncates wireless (mDNS) serials containing spaces into serials adb -s
cannot resolve, so pushes to wirelessly connected devices failed.
Devices are now addressed by transport id (adb -t), which is a plain
integer.
@cryptskii
cryptskii merged commit dfbdf83 into main Aug 24, 2026
18 checks passed
@cryptskii
cryptskii deleted the fix/env-catalog-node-ids branch August 24, 2026 06:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant